home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-01 / lcppb.zip / LCPPLIB.ZIP / TWINDOW.CPP < prev    next >
C/C++ Source or Header  |  1991-07-08  |  3KB  |  135 lines

  1. // twindow.cpp -- Test cwindow class
  2.  
  3. #include <stdlib.h>
  4. //#include <stdio.h>
  5. #include <conio.h>
  6. #include "window.h"
  7.  
  8. /* -- Attribute constants */
  9.  
  10. #define WA_REVERSEVIDEO  0x70
  11. #define WA_NORMAL        0x07
  12.  
  13. /* -- Test-function prototypes */
  14.  
  15. void pause(void);
  16. void runtest(void);
  17. void overlayTest(void);
  18. void scrollTest(void);
  19.  
  20. main()
  21. {
  22.    cwindow::startup();
  23.    runtest();
  24.    cwindow::shutDown();
  25.    exit(0);
  26. }
  27.  
  28. /* -- Wait for and discard keypress */
  29.  
  30. void pause(void)
  31. {
  32.    while (getch() != ' ') ;
  33. }
  34.  
  35. /* -- Execute main test procedures */
  36.  
  37. void runtest(void)
  38. {
  39.    int i;
  40.    cwindow *win = new cwindow;
  41.    winStruct ws;
  42.  
  43.    int row;
  44.  
  45.    win->setTitle(" Press <Spacebar> to Advance Test ");
  46.    win->showWindow();
  47.    ws = win->getInfo();
  48.    for (row = 0; row < ws.height - 2; row++) {
  49.       win->gotorc(row, row);
  50.       win->puts("This line should end here: abcdefghijklmnop");
  51.       win->gotorc(row, 75);
  52.       win->puts("Endoftheline");
  53.       if (row & 1)
  54.          win->normalVideo();
  55.       else
  56.          win->reverseVideo();
  57.       pause();
  58.    }
  59.  
  60.    win->setTitle(" Pop-Up Overlay Test ");
  61.    overlayTest();
  62.  
  63.    win->normalVideo();
  64.    win->setTitle(" Erase to End of Line Test ");
  65.    pause();
  66.    for (row = 0; row < ws.height - 2; row++) {
  67.       win->gotorc(row, row + 26 );
  68.       win->eeol();
  69.       pause();
  70.    }
  71.  
  72.    win->normalVideo();
  73.    win->gotorc(0, 0);
  74.    win->puts("Scroll down 4x test");
  75.    win->eeol();
  76.    win->setTitle(" Scroll DOWN 4x test ");
  77.    pause();
  78.    for (i = 1; i <= 4; i++) {
  79.       win->scrollDown(1);
  80.       pause();
  81.    }
  82.  
  83.    win->gotorc(4, 0);
  84.    win->puts(" Scroll up 4x test ");
  85.    win->eeol();
  86.    win->setTitle(" Scroll UP 4x test ");
  87.    for (i = 1; i <= 4; i++) {
  88.       pause();
  89.       win->scrollUp(1);
  90.    }
  91.  
  92.    win->setTitle(" Erase Window Test " );
  93.    pause();
  94.    win->gotorc(0, 0);
  95.    win->eeow();
  96.    win->setTitle(" Null Title Test ");
  97.    pause();
  98.    win->setTitle("");
  99.    pause();
  100.    win->setTitle(" Hide Window Test " );
  101.    pause();
  102.    win->hideWindow();
  103.    delete win;
  104. }
  105.  
  106. /* -- Display pop-up window over main window */
  107.  
  108. void overlayTest(void)
  109. {
  110.    winStruct ws = {
  111.       6, 20, 32, 12, 
  112.       WA_REVERSEVIDEO, WA_NORMAL, WA_NORMAL, 1
  113.    };
  114.    cwindow *win = new cwindow(ws, " Pop-Up ");
  115.  
  116.    win->showWindow();
  117.    win->gotorc(4, 2);
  118.    win->puts("Pop-Up window!");
  119.    win->gotorc(6, 2);
  120.    win->puts("Press Space twice to erase");
  121.    pause();
  122.    win->gotorc(0, 0);
  123.    win->eeow();
  124.    pause();
  125.    delete win;
  126. }
  127.  
  128.  
  129. // Copyright (c) 1990 by Tom Swan. All rights reserved
  130. // Revision 1.00    Date: 10/30/1990   Time: 11:03 am
  131.  
  132. // Revision 1.01    Date: 07/08/1991   Time: 05:41 pm
  133. // Converted for Borland C++ 2.0
  134.  
  135.